package com.bob.clan.wxconnector.controller;

import com.alibaba.fastjson.JSONObject;
import com.bob.clan.wxconnector.DTO.ModelMsgDTO;
import com.bob.clan.wxconnector.wxService.WxModelMsgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 与业务系统对接，发送各业务模板信息
 */
@RestController
public class ModelMsgController {
    @Autowired
    private WxModelMsgService modelMsgService;

    /**
     * 发送模板消息
     * 定义好系统角色与职责，做好系统边界，本应用仅是与微信服务对接的接口通道，不处理系统系统具体的业务逻辑。
     * 所以本系统的角色定义了只负责发送，要做的是定义好发送规则，业务系统的业务可以该规则下实现。
     * 减少了业务耦合度，让系统更有可通用性。
     * 这一个优秀的技术型产品经理要的事。
     */

    @RequestMapping("/sendModelMsg")
    public String sendModelMsg(ModelMsgDTO msgDTO){
//        msgDTO.setSysCode("clan");
//        msgDTO.setTouser("ojpMb5riK6SUJVNiDRydSB9HYFbw");
//        msgDTO.setTemplate_id("tFVYxSycxjeNQyvI7zjh0vTqSGKzr8jNdoPIG0ivT20");
//        msgDTO.setUrl("https://www.baidu.com");
//        msgDTO.setData(msg);
        msgDTO.setData(JSONObject.parseObject(msgDTO.getDataStr()));
        modelMsgService.sendModelMsg(msgDTO);
        return "ok";
    }
}
